package p400.srm499;

import java.util.Arrays;

import utils.ExampleRunner;

/**
 * Created by IntelliJ IDEA.
 * User: smalex
 * Date: 3/8/11
 * Time: 7:43 PM
 * with help
 */
public class PalindromeGame {
  public static class Item implements Comparable<Item> {
    private String word;
    private int cost;

    public Item(String word, int cost) {
      this.word = word;
      this.cost = cost;
    }


    public int compareTo(Item item) {
      return item.cost - cost;
    }

    @Override
    public String toString() {
      return "Item{" +
          "word='" + word + '\'' +
          ", cost=" + cost +
          '}';
    }
  }

  public int getMaximum(String[] front, int[] back) {
    int N = front.length;
    Item[] items = new Item[N];
    for (int i = 0; i < N; i++) {
      items[i] = new Item(front[i], back[i]);
    }
    Arrays.sort(items);
    int result = 0;
    boolean[] used = new boolean[N];
    for (int i = 0; i < N; i++) {
      for (int j = 0; j < N; j++) {
        if (i != j && !used[i] && !used[j] && isPalindrome(items[i].word + items[j].word)) {
          used[i] = true;
          used[j] = true;
          result += items[i].cost + items[j].cost;
        }
      }
    }
    for (int i = 0; i < N; i++) {
      Item item = items[i];
      if (!used[i] && isPalindrome(item.word)) {
        result += items[i].cost;
        break;
      }
    }
    return result;
  }

  private boolean isPalindrome(String w) {
    for (int i = 0; i < w.length() / 2; i++) {
      if (w.charAt(i) != w.charAt(w.length() - 1 - i)) {
        return false;
      }
    }
    return true;
  }

  private String reverse(String value) {
    final char[] bytes = value.toCharArray();
    for (int i = 0; i < bytes.length / 2; i++) {
      char tmp = bytes[i];
      bytes[i] = bytes[bytes.length - i - 1];
      bytes[bytes.length - i - 1] = tmp;
    }
    return new String(bytes);
  }

  public static void main(String[] args) {
    ExampleRunner.eq(1, 10, new PalindromeGame().getMaximum(new String[]{"topcoder", "redcoder", "redocpot"}, new int[]{7, 5, 3}));
    ExampleRunner.eq(2, 0, new PalindromeGame().getMaximum(new String[]{"rabbit"}, new int[]{1000000}));
    ExampleRunner.eq(3, 499, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed"}, new int[]{24, 7, 63, 222, 190}));
    ExampleRunner.eq(4, 482, new PalindromeGame().getMaximum(new String[]{"abc", "cba", "def", "abc", "fed"}, new int[]{24, 7, 63, 222, 190}));
    ExampleRunner.eq(5, 1, new PalindromeGame().getMaximum(new String[]{"a"}, new int[]{1}));
    ExampleRunner.eq(6, 24, new PalindromeGame().getMaximum(new String[]{"xyx", "xyx", "xyx", "zzz", "zzz", "zzz"}, new int[]{5, 7, 2, 1, 6, 4}));
    ExampleRunner.eq(7, 474854, new PalindromeGame().getMaximum(new String[]{"aaaaaaaaaaaa", "nopalindrome", "steponnopets", "emordnilapon", "aaaaaaaaaaaa", "steponnopets", "nopalindrome", "steponnopets", "nopalindrome", "bbbbbbbbbbbb", "cannotbeused", "cannotbeused", "steponnopets", "aaaaaaaaaaaa", "nopalindrome", "aaaaaaaaaaaa", "nopalindrome", "emordnilapon", "steponnopets", "nopalindrome"}, new int[]{4096, 131072, 64, 262144, 512, 1024, 65536, 2048, 32768, 1, 524288, 16384, 32, 4, 16, 2, 8, 128, 8192, 256}));
    ExampleRunner.eq(8, 0, new PalindromeGame().getMaximum(new String[]{"thequickbrownfoxjumpsoverthelazydog"}, new int[]{1000000}));
    ExampleRunner.eq(9, 95, new PalindromeGame().getMaximum(new String[]{"thequickbrownfoxjumpsoverthelazydog", "godyzalehtrevospmujxofnworbkciuqeht"}, new int[]{19, 76}));
    ExampleRunner.eq(10, 0, new PalindromeGame().getMaximum(new String[]{"fhequickbrownfoxjumpsoverthelazydog", "godyzalehtrevospmujxofnworbkciuqeht"}, new int[]{19, 76}));
    ExampleRunner.eq(11, 0, new PalindromeGame().getMaximum(new String[]{"thequickbrownfoxjumpsoverthelazydoq", "godyzalehtrevospmujxofnworbkciuqeht"}, new int[]{19, 76}));
    ExampleRunner.eq(12, 0, new PalindromeGame().getMaximum(new String[]{"thequickbrownfoxjumpsoverthelazydog", "qodyzalehtrevospmujxofnworbkciuqeht"}, new int[]{19, 76}));
    ExampleRunner.eq(13, 0, new PalindromeGame().getMaximum(new String[]{"thequickbrownfoxjumpsoverthelazydog", "godyzalehtrevospmujxofnworbkciuqehf"}, new int[]{19, 76}));
    ExampleRunner.eq(14, 499, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindromemordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(15, 0, new PalindromeGame().getMaximum(new String[]{"dhiswillbealongpalindromemordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(16, 0, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindronemordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(17, 0, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindromenordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(18, 0, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindromemordnilapgnolaeblliwsihd"}, new int[]{499}));
    ExampleRunner.eq(19, 499, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindromeemordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(20, 0, new PalindromeGame().getMaximum(new String[]{"phiswillbealongpalindromeemordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(21, 0, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindromoemordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(22, 0, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindromeomordnilapgnolaeblliwsiht"}, new int[]{499}));
    ExampleRunner.eq(23, 0, new PalindromeGame().getMaximum(new String[]{"thiswillbealongpalindromeemordnilapgnolaeblliwsihp"}, new int[]{499}));
    ExampleRunner.eq(24, 50000000, new PalindromeGame().getMaximum(new String[]{"hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "lfctktrygedlpmbooatphlicywlfybdiuaxxogkpeujgeiasft", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "ixzlnswijawcksnthxwggjsjdznfgrqetphgxmcjofuhyaqobg", "gboqayhufojcmxghpteqrgfnzdjsjggwxhtnskcwajiwsnlzxi", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "ixzlnswijawcksnthxwggjsjdznfgrqetphgxmcjofuhyaqobg", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "ixzlnswijawcksnthxwggjsjdznfgrqetphgxmcjofuhyaqobg", "gboqayhufojcmxghpteqrgfnzdjsjggwxhtnskcwajiwsnlzxi", "lastcjhxwdxxilxdbxawfaxtkjyfeucaticrrevixwthwwkute", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "ixzlnswijawcksnthxwggjsjdznfgrqetphgxmcjofuhyaqobg", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "etukwwhtwxiverrcitacuefyjktxafwaxbdxlixxdwxhjctsal", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "ixzlnswijawcksnthxwggjsjdznfgrqetphgxmcjofuhyaqobg", "ixzlnswijawcksnthxwggjsjdznfgrqetphgxmcjofuhyaqobg", "ziiavkadexabdiwxhqjbhgyzddzyghbjqhxwidbaxedakvaiiz", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "gboqayhufojcmxghpteqrgfnzdjsjggwxhtnskcwajiwsnlzxi", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "hjmyuwwkrxnfmqgeebeoapezsdzspmqcxjtgdyxkrpvmwmmpmp", "tfsaiegjuepkgoxxauidbyflwycilhptaoobmpldegyrtktcfl", "gboqayhufojcmxghpteqrgfnzdjsjggwxhtnskcwajiwsnlzxi", "gboqayhufojcmxghpteqrgfnzdjsjggwxhtnskcwajiwsnlzxi", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "pmpmmwmvprkxydgtjxcqmpszdszepaoebeegqmfnxrkwwuymjh", "ziiavkadexabdiwxhqjbhgyzddzyghbjqhxwidbaxedakvaiiz", "gboqayhufojcmxghpteqrgfnzdjsjggwxhtnskcwajiwsnlzxi"}, new int[]{1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000}));
    ExampleRunner.eq(25, 5949, new PalindromeGame().getMaximum(new String[]{"bptjtizbjdfmukyxxbmileaksskaelimbxxykumfdjbzitjtpb", "rbjavldthitldfowirhhruatggtaurhhriwofdltihtdlvajbr", "shxbxtidyjofgpqrnabgdknittinkdgbanrqpgfojyditxbxhs", "cmfllyppaymgdgfwvvvpjncqhhqcnjpvvvwfgdgmyappyllfmc", "xuaukuhwruwvtdajqopxhacjxxjcahxpoqjadtvwurwhukuaux", "vqohkuovpmxoxeveypmwbwfziizfwbwmpyevexoxmpvoukhoqv", "zedvmxsfhhoslqlukxgoavchvvhcvaogxkulqlsohhfsxmvdez", "dvgyloealfpunupqkwlqctlullultcqlwkqpunupflaeolygvd", "pliywrbgdwbxvtdlgtxlhahcnnchahlxtgldtvxbwdgbrwyilp", "ppkbyxahzbgizpsprwjwiymmxxmmyiwjwrpspzigbzhaxybkpp", "iznckjdrhiujhpemagerzwhavvahwzregamephjuihrdjkcnzi", "dbqxptyyvxfvicehzhqchghqaaqhghcqhzhecivfxvyytpxqbd", "aaigsxhhuvarwdfkpistrdevhhvedrtsipkfdwravuhhxsgiaa", "kgomneqlahxgkgcxlhvykmkfllfkmkyvhlxcgkgxhalqenmogk", "xyhqrpletzpmpmebilnlhavokkovahlnlibempmpztelprqhyx", "alutlssyaxalnmmtxmeeyrubmmburyeemxtmmnlaxayssltula", "fjwtavbkqcnaaanhzafpwcsrhhrscwpfazhnaaancqkbvatwjf", "jasdhqycfutuswyzyodvpbsxyyxsbpvdoyzywsutufcyqhdsaj", "qhuueksvynyimboqjlhdjfhdnndhfjdhljqobmiynyvskeuuhq", "wbruxzbvoualqdqlrqdjweupllpuewjdqrlqdqlauovbzxurbw", "ityexmrfylrjshcpctlmkswassawskmltcpchsjrlyfrmxeyti", "werngnsyixujjtygzizhhycfjjfcyhhzizgytjjuxiysngnrew", "kolhcsckjzypplxyblitgphvkkvhpgtilbyxlppyzjkcschlok", "jlgpfexzsfhttjklvlbxpacessecapxblvlkjtthfszxefpglj", "klbamhvcwhqchtaymjmklckgkkgkclkmjmyathcqhwcvhmablk", "lfhpellbxhhukpnktlvuhmmzhhzmmhuvltknpkuhhxbllephfl", "rxyqsxuepfcymcegbjsukzzovvozzkusjbgecmycfpeuxsqyxr", "lmdvlfxyqrshiswkwozybijujjujibyzowkwsihsrqyxflvdml", "pbehptugjdabeyqhxktqyesgzzgseyqtkxhqyebadjgutphebp", "lbymvxgkabtqmoktunltddyilliyddtlnutkomqtbakgxvmybl", "kcunlniqeissjsfpnmxwcdznaanzdcwxmnpfsjssieqinlnuck", "ebufnclmvzqwzwhyxgsgcvmaeeamvcgsgxyhwzwqzvmlcnfube", "yeofsydykuvviihkihkvtuzmttmzutvkhikhiivvukydysfoey", "jmgmmopcwybediwosomgrnrryyrrnrgmosowidebywcpommgmj", "qjbbdsgmomenpbidlntcbwevxxvewbctnldibpnemomgsdbbjq", "ujqcthnokczyugjkwgrtmsywbbwysmtrgwkjguyzckonhtcqju", "nbocykjrjysvxpxvhbqhtaryggyrathqbhvxpxvsyjrjkycobn", "lwvhylvxpxjjtxdatfcrgmtauuatmgrcftadxtjjxpxvlyhvwl", "jpnkoqvdcmlbuzyfiyeukznrggrnzkueyifyzublmcdvqoknpj", "dbgcnntfjdyfjzvwuaycisxhjjhxsicyauwvzjfydjftnncgbd", "xcylfwhgwqhxefrgbnozadmsiismdazonbgrfexhqwghwflycx", "grqwyonfygheejgbtfoljycwwwwcyjloftbgjeehgyfnoywqrg", "ygckjbbrpxizzpyjifokscekzzkecskofijypzzixprbbjkcgy", "skyeyftvldfdgvqvxcbietaxffxateibcxvqvgdfdlvtfyeyks", "ovzvklydseowcevrstbbeyhgjjghyebbtsrvecwoesdylkvzvo", "eattvzichqilhfydzpfkqyquaauqyqkfpzdyfhliqhcizvttae", "vhsfkwdopjawpuosgtgtbxpfhhfpxbtgtgsoupwajpodwkfshv", "nfnizinzdduumtnkwiybfvugllguvfbyiwkntmuuddznizinfn", "uzfbzudusdawgvftkgkszmupccpumzskgktfvgwadsuduzbfzu", "zivihsufyoxsdvbeqojhugerhhreguhjoqebvdsxoyfushiviz"}, new int[]{3530, 4030, 1276, 4088, 3075, 3861, 1366, 2181, 3283, 3353, 4611, 4688, 5093, 2999, 1579, 5323, 4052, 4931, 616, 1822, 5209, 5200, 5949, 1531, 3436, 3357, 2676, 1999, 2938, 3105, 863, 1705, 177, 5458, 1276, 3137, 5779, 3530, 479, 4236, 5909, 180, 3780, 174, 5410, 4598, 1390, 3192, 2276, 437}));
    ExampleRunner.eq(26, 34956, new PalindromeGame().getMaximum(new String[]{"vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv", "vtampzmroiijokmzbxsqpclkmmklcpqsxbzmkojiiormzpmatv"}, new int[]{427, 756, 992, 241, 370, 692, 621, 723, 989, 587, 994, 284, 660, 531, 1022, 707, 597, 840, 308, 597, 840, 681, 242, 992, 421, 1021, 943, 681, 621, 810, 640, 1022, 840, 958, 692, 663, 588, 835, 876, 663, 810, 513, 707, 979, 694, 958, 274, 421, 733, 900}));
    ExampleRunner.eq(27, 0, new PalindromeGame().getMaximum(new String[]{"efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx", "efiezjynivqjmbgcmmmylpdqvkfdbqiybegqcbieyyphjoasqx"}, new int[]{76229, 227374, 133120, 84094, 230319, 154315, 223494, 251667, 166774, 245312, 172504, 67485, 75771, 139727, 230319, 154315, 230351, 253235, 288866, 184067, 302578, 193146, 139727, 144578, 231766, 308253, 262335, 230228, 144578, 153813, 227374, 184067, 210948, 227930, 186982, 363168, 302578, 288866, 338220, 193146, 317461, 212743, 313755, 318635, 200688, 26395, 270839, 251667, 105055, 266022}));
    ExampleRunner.eq(28, 902, new PalindromeGame().getMaximum(new String[]{"vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "tpekppxqtpigriasudscmlwxbbaaeoxxcnyepmsmrylafawlsv", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept", "vslwafalyrmsmpeyncxxoeaabbxwlmcsdusairgiptqxppkept"}, new int[]{1, 5, 8, 10, 42, 38, 36, 33, 48, 28, 26, 36, 25, 43, 50, 16, 31, 5, 36, 24, 20, 36, 39, 39, 34, 26, 31, 6, 34, 15, 21, 20, 32, 31, 11, 8, 41, 16, 29, 30, 47, 12, 47, 37, 38, 31, 17, 32, 4, 32}));
    ExampleRunner.eq(29, 71086, new PalindromeGame().getMaximum(new String[]{"dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "lhfmufqdtawfkilsewisiheqvqsfgjdyqxskqnfmbsritrskkd", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl", "dkksrtirsbmfnqksxqydjgfsqvqehisiweslikfwatdqfumfhl"}, new int[]{1861, 2376, 1125, 86, 797, 2613, 2140, 1679, 1421, 2034, 92, 2111, 412, 2445, 772, 628, 23, 249, 1733, 847, 2649, 1239, 2347, 211, 2218, 1111, 1401, 1688, 2406, 397, 2693, 1025, 842, 197, 2670, 2068, 1143, 1769, 2226, 973, 2673, 1767, 738, 750, 920, 213, 1998, 2667, 936, 1707}));
    ExampleRunner.eq(30, 575048, new PalindromeGame().getMaximum(new String[]{"mcjqdteeuimiqltjsmjvegkfidgdqpqxjvifarrdmcfayypjcg", "ubzirkuiexmubaqytnulztupdawsxrkrfjbzmrehsesssydfls", "lkgbuvmsvwwrphxfvnfusvdoonumpwgvubcnwnawhyuntiiivt", "cuvbpkbdqxspgwtioefmlvtwwfgpxqgplwhmsobmcahfusqtho", "lkgbuvmsvwwrphxfvnfusvdoonumpwgvubcnwnawhyuntiiivt", "cuvbpkbdqxspgwtioefmlvtwwfgpxqgplwhmsobmcahfusqtho", "lkgbuvmsvwwrphxfvnfusvdoonumpwgvubcnwnawhyuntiiivt", "mcjqdteeuimiqltjsmjvegkfidgdqpqxjvifarrdmcfayypjcg", "rssovkmhdaskeufcraevaftjzsijkdbczhvcwkzwdbjazpdmxz", "wcuzmjojsvalacrvimunavxtmbcmqfjxjnkjebfsvpjryfvtif", "najkhodrphvlyrbhfslncfxmpkfnzjmtpdbegxsbhubvwwbskk", "gcjpyyafcmdrrafivjxqpqdgdifkgevjmsjtlqimiueetdqjcm", "wcgwyvvbmnaozccdcffdqbaqlprtpngyesrlwmjevlnhvvnjhl", "tviiitnuyhwanwncbuvgwpmunoodvsufnvfxhprwwvsmvubgkl", "hfndgkhltykeqkkdoikiplsoysgvdnrajnlpqavjadehtfpzxz", "lhjnvvhnlvejmwlrseygnptrplqabqdffcdcczoanmbvvywgcw", "fitvfyrjpvsfbejknjxjfqmcbmtxvanumivrcalavsjojmzucw", "slfdyssseshermzbjfrkrxswadputzluntyqabumxeiukrizbu", "lkgbuvmsvwwrphxfvnfusvdoonumpwgvubcnwnawhyuntiiivt", "ubzirkuiexmubaqytnulztupdawsxrkrfjbzmrehsesssydfls", "fitvfyrjpvsfbejknjxjfqmcbmtxvanumivrcalavsjojmzucw", "kksbwwvbuhbsxgebdptmjznfkpmxfcnlsfhbrylvhprdohkjan", "rssovkmhdaskeufcraevaftjzsijkdbczhvcwkzwdbjazpdmxz", "najkhodrphvlyrbhfslncfxmpkfnzjmtpdbegxsbhubvwwbskk", "hfndgkhltykeqkkdoikiplsoysgvdnrajnlpqavjadehtfpzxz", "ubzirkuiexmubaqytnulztupdawsxrkrfjbzmrehsesssydfls", "ubzirkuiexmubaqytnulztupdawsxrkrfjbzmrehsesssydfls", "cuvbpkbdqxspgwtioefmlvtwwfgpxqgplwhmsobmcahfusqtho", "rssovkmhdaskeufcraevaftjzsijkdbczhvcwkzwdbjazpdmxz", "ohtqsufhacmbosmhwlpgqxpgfwwtvlmfeoitwgpsxqdbkpbvuc", "wcgwyvvbmnaozccdcffdqbaqlprtpngyesrlwmjevlnhvvnjhl", "nfrizjawupejbwtvlhuncilmruhssifycgkmpxqobbxvffnhfv", "nfrizjawupejbwtvlhuncilmruhssifycgkmpxqobbxvffnhfv", "wcgwyvvbmnaozccdcffdqbaqlprtpngyesrlwmjevlnhvvnjhl", "zxzpfthedajvaqplnjarndvgsyoslpikiodkkqekytlhkgdnfh", "hfndgkhltykeqkkdoikiplsoysgvdnrajnlpqavjadehtfpzxz", "najkhodrphvlyrbhfslncfxmpkfnzjmtpdbegxsbhubvwwbskk", "fitvfyrjpvsfbejknjxjfqmcbmtxvanumivrcalavsjojmzucw", "hfndgkhltykeqkkdoikiplsoysgvdnrajnlpqavjadehtfpzxz", "nfrizjawupejbwtvlhuncilmruhssifycgkmpxqobbxvffnhfv", "cuvbpkbdqxspgwtioefmlvtwwfgpxqgplwhmsobmcahfusqtho", "fitvfyrjpvsfbejknjxjfqmcbmtxvanumivrcalavsjojmzucw", "mcjqdteeuimiqltjsmjvegkfidgdqpqxjvifarrdmcfayypjcg", "najkhodrphvlyrbhfslncfxmpkfnzjmtpdbegxsbhubvwwbskk", "zxmdpzajbdwzkwcvhzcbdkjiszjtfavearcfueksadhmkvossr", "vfhnffvxbboqxpmkgcyfisshurmlicnuhlvtwbjepuwajzirfn", "wcgwyvvbmnaozccdcffdqbaqlprtpngyesrlwmjevlnhvvnjhl", "rssovkmhdaskeufcraevaftjzsijkdbczhvcwkzwdbjazpdmxz", "mcjqdteeuimiqltjsmjvegkfidgdqpqxjvifarrdmcfayypjcg", "nfrizjawupejbwtvlhuncilmruhssifycgkmpxqobbxvffnhfv"}, new int[]{35479, 12818, 21951, 7816, 9694, 320, 29268, 21147, 28796, 22306, 21846, 42032, 27962, 39742, 37303, 25620, 23571, 33623, 10552, 29268, 22484, 15191, 18531, 26313, 29336, 15582, 25376, 26489, 26928, 24365, 10905, 10998, 21901, 27943, 24104, 35586, 33310, 24104, 40601, 27062, 29434, 2121, 26928, 21846, 20830, 21951, 8372, 19310, 6194, 21901}));
    ExampleRunner.eq(31, 3565, new PalindromeGame().getMaximum(new String[]{"jjnneixpabakgnuvvancfggfcnavvungkabapxiennjj"}, new int[]{3565}));
    ExampleRunner.eq(32, 0, new PalindromeGame().getMaximum(new String[]{"nzmnxzanbwypdtkamqeemwsbakpcxjcfkdlk"}, new int[]{6626}));
    ExampleRunner.eq(33, 60404, new PalindromeGame().getMaximum(new String[]{"apwcwpa", "apwcwpa"}, new int[]{19542, 40862}));
    ExampleRunner.eq(34, 1038, new PalindromeGame().getMaximum(new String[]{"kpguhwkvwzrvjrvgppgvrjvrzwvkwhugpk", "epkemelzgbcdhqpwxxwpqhdcbgzlemekpe"}, new int[]{589, 1038}));
    ExampleRunner.eq(35, 8867, new PalindromeGame().getMaximum(new String[]{"prffwfiphkrsaoacuucaoasrkhpifwffrp", "qbvvxewxxzwprwxwzdsyvxibsabldfzmgt"}, new int[]{8867, 49314}));
    ExampleRunner.eq(36, 0, new PalindromeGame().getMaximum(new String[]{"zkxzpofixooclx", "zkxzpofixooclx"}, new int[]{13480, 13818}));
    ExampleRunner.eq(37, 219377, new PalindromeGame().getMaximum(new String[]{"vtplaawtsxovadnvzcgmsnqweamkiaastxbkse", "eskbxtsaaikmaewqnsmgczvndavoxstwaalptv"}, new int[]{206564, 12813}));
    ExampleRunner.eq(38, 63723, new PalindromeGame().getMaximum(new String[]{"xvvenxcbirkjuxr", "nzojtskdkstjozn"}, new int[]{10894, 63723}));
    ExampleRunner.eq(39, 0, new PalindromeGame().getMaximum(new String[]{"lbnqtifwxbgwdtwyrlulgbbictvwpn", "dysykadagjmyxsmialibycsdynkual"}, new int[]{742, 1843}));
    ExampleRunner.eq(40, 1357408, new PalindromeGame().getMaximum(new String[]{"gxsyzyhiqnvzuftfuzvnqihyzysxg", "gxsyzyhiqnvzuftfuzvnqihyzysxg", "gxsyzyhiqnvzuftfuzvnqihyzysxg"}, new int[]{238851, 755008, 363549}));
    ExampleRunner.eq(41, 95410, new PalindromeGame().getMaximum(new String[]{"lgzfuzuppsbswenvkkvnewsbsppuzufzgl", "lgzfuzuppsbswenvkkvnewsbsppuzufzgl", "deqtbzyoctxfodyappaydofxtcoyzbtqed"}, new int[]{57108, 25434, 12868}));
    ExampleRunner.eq(42, 87817, new PalindromeGame().getMaximum(new String[]{"wzsugerxatesnnsetaxreguszw", "wzsugerxatesnnsetaxreguszw", "djnboriqnhlnmvemxrlqtmxcls"}, new int[]{37791, 50026, 56212}));
    ExampleRunner.eq(43, 27213, new PalindromeGame().getMaximum(new String[]{"shhsgdtfadwiubadjeimuycggcyumiejdabuiwdaftdgshhs", "nungkwsoivpworqqgynxqssqqssqxnygqqrowpvioswkgnun", "shhsgdtfadwiubadjeimuycggcyumiejdabuiwdaftdgshhs"}, new int[]{12674, 3574, 10965}));
    ExampleRunner.eq(44, 317115, new PalindromeGame().getMaximum(new String[]{"bznvskvwplrezvgiqigvzerlpwvksvnzb", "mkkhyjvpizfjeegxhxgeejfzipvjyhkkm", "mkkhyjvpizfjeegxhxgeejfzipvjyhkkm"}, new int[]{82542, 195879, 38694}));
    ExampleRunner.eq(45, 121368, new PalindromeGame().getMaximum(new String[]{"hpcivkfpkwpbijrzukbxgcjjcgxbkuzrjibpwkpfkvicph", "zwfcmuqjwjvztvhkdjdreqvvqerdjdkhvtzvjwjqumcfwz", "hlcplrstcnkbrshsbyzezjbbjzezybshsrbknctsrlpclh"}, new int[]{100511, 69338, 121368}));
    ExampleRunner.eq(46, 378287, new PalindromeGame().getMaximum(new String[]{"dieosmjjgsaasgjjmsoeid", "qdhpxukhokffkohkuxphdq", "ezshxtzieiphpecrwyerbu"}, new int[]{378287, 277267, 70267}));
    ExampleRunner.eq(47, 2658, new PalindromeGame().getMaximum(new String[]{"zjbcflhwdshsaashsdwhlfcbjz", "rztretkxcusbhmckzsgmfzrcff", "zjbcflhwdshsaashsdwhlfcbjz"}, new int[]{2448, 1503, 210}));
    ExampleRunner.eq(48, 6236, new PalindromeGame().getMaximum(new String[]{"zvtgdwxxwdgtvz", "jdqfusznfflnha", "jdqfusznfflnha"}, new int[]{6236, 3738, 15029}));
    ExampleRunner.eq(49, 16734, new PalindromeGame().getMaximum(new String[]{"bdjuqwihyqnggnqyhiwqujdb", "rytwphmyvtkcrdihmmcpvozx", "xzovpcmmhidrcktvymhpwtyr"}, new int[]{4948, 8311, 3475}));
    ExampleRunner.eq(50, 33416, new PalindromeGame().getMaximum(new String[]{"bmtlupfeoliknonkiloefpultmb", "atxwfacwivkztissdirjnxmpusk", "pimhenglknuavovaunklgnehmip"}, new int[]{3837, 5841, 33416}));
    ExampleRunner.eq(51, 3059, new PalindromeGame().getMaximum(new String[]{"sybwstztswbys", "nagydkhftghcy", "cnwcgnvhdcanb"}, new int[]{3059, 16854, 22962}));
    ExampleRunner.eq(52, 0, new PalindromeGame().getMaximum(new String[]{"ndozzquvvyjzblzsuynvczkcusvpilineecs", "ndozzquvvyjzblzsuynvczkcusvpilineecs", "ndozzquvvyjzblzsuynvczkcusvpilineecs"}, new int[]{4604, 18894, 26435}));
    ExampleRunner.eq(53, 8948, new PalindromeGame().getMaximum(new String[]{"kbfgojlmzccjlhsaydbomssrwpnuosrkmidvpowe", "kbfgojlmzccjlhsaydbomssrwpnuosrkmidvpowe", "ewopvdimkrsounpwrssmobdyashljcczmljogfbk"}, new int[]{3934, 1188, 5014}));
    ExampleRunner.eq(54, 7397, new PalindromeGame().getMaximum(new String[]{"tjjtcjqwht", "tjjtcjqwht", "ykqussuqky"}, new int[]{4600, 3451, 7397}));
    ExampleRunner.eq(55, 0, new PalindromeGame().getMaximum(new String[]{"gtlsyunntlceu", "gtlsyunntlceu", "zevijutpvtvnj"}, new int[]{22572, 7437, 36102}));
    ExampleRunner.eq(56, 10146, new PalindromeGame().getMaximum(new String[]{"zmtrifcoqswcbkaolqkslzkozoprjkzffwokasgigo", "ogigsakowffzkjrpozokzlskqloakbcwsqocfirtmz", "zmtrifcoqswcbkaolqkslzkozoprjkzffwokasgigo"}, new int[]{4454, 5121, 5025}));
    ExampleRunner.eq(57, 110536, new PalindromeGame().getMaximum(new String[]{"lpzwoocquwta", "atwuqcoowzpl", "atwuqcoowzpl"}, new int[]{37988, 26565, 72548}));
    ExampleRunner.eq(58, 278350, new PalindromeGame().getMaximum(new String[]{"askmj", "jmksa", "wipiw"}, new int[]{98889, 84196, 95265}));
    ExampleRunner.eq(59, 637022, new PalindromeGame().getMaximum(new String[]{"mbdfucznlwqrllurlttietigwxufkuqtfihjwjgwpfrrfia", "aifrrfpwgjwjhiftqukfuxwgiteittlrullrqwlnzcufdbm", "obphcqwxkrfboyzyyqkueglyynkzycgzngfbauepwcfqifj"}, new int[]{408535, 228487, 174836}));
    ExampleRunner.eq(60, 48080, new PalindromeGame().getMaximum(new String[]{"fjxmkgvtfntbcrrhwxe", "dyxsuhiususuihusxyd", "fjxmkgvtfntbcrrhwxe"}, new int[]{10581, 48080, 31717}));
    ExampleRunner.eq(61, 24130, new PalindromeGame().getMaximum(new String[]{"rvptkrqbhmrcvqrnlovdbwjwqrqymyfauoblrwdpxfprak", "mwhzgkimzgeibdynxhzqcthhtcqzhxnydbiegzmikgzhwm", "karpfxpdwrlbouafymyqrqwjwbdvolnrqvcrmhbqrktpvr"}, new int[]{65, 13375, 10690}));
    ExampleRunner.eq(62, 57896, new PalindromeGame().getMaximum(new String[]{"blpztdsptxarfdel", "incgvsjffjsvgcni", "incgvsjffjsvgcni"}, new int[]{41441, 10543, 47353}));
    ExampleRunner.eq(63, 14116, new PalindromeGame().getMaximum(new String[]{"yotblftphklamyyfdm", "ifcvfsmjjjjmsfvcfi", "mcwpflywvvwylfpwcm"}, new int[]{105843, 1074, 14116}));
    ExampleRunner.eq(64, 19160, new PalindromeGame().getMaximum(new String[]{"rhthtqlcwfvrvxzcopunixtdgpybbisdpulwjursjaazwkadhx", "wuickozwtnffredorvunzzbfssfbzznuvroderffntwzokciuw", "uzlxobsnjwaieyzffyvnujhdvmnuxdeatspcumxmkkeahlwiaq"}, new int[]{23837, 19160, 22751}));
    ExampleRunner.eq(65, 0, new PalindromeGame().getMaximum(new String[]{"rheivwppdwxvvnq", "lnbzctxqawqngvn", "rheivwppdwxvvnq"}, new int[]{2065, 2103, 580}));
    ExampleRunner.eq(66, 4393, new PalindromeGame().getMaximum(new String[]{"jopdcsufcezogczpqpbjxlhoqgcaldoxqmjyegijidqgtuq", "cbvyphypajtcgohyvyikxfnnbluneumtxofafzbtanurdhp", "qutgqdijigeyjmqxodlacgqohlxjbpqpzcgozecfuscdpoj"}, new int[]{1157, 1983, 3236}));
    ExampleRunner.eq(67, 0, new PalindromeGame().getMaximum(new String[]{"rlemxgusgucogotjeihsfx", "yingnnxuafffmcbiavlbjm", "yingnnxuafffmcbiavlbjm"}, new int[]{19297, 77245, 55762}));
    ExampleRunner.eq(68, 49227, new PalindromeGame().getMaximum(new String[]{"rvlo", "ckek", "kekc"}, new int[]{26379, 30373, 18854}));
    ExampleRunner.eq(69, 1596, new PalindromeGame().getMaximum(new String[]{"sfnztgydadkcxsszydmvjemqbbweedjnqpdsspc", "whmgccuxymeyoxfjoifcbgrtdgsrbeesshrtpvp", "laazzutbyzrgeojizgvrvgzijoegrzybtuzzaal"}, new int[]{5377, 7809, 1596}));
    ExampleRunner.eq(70, 0, new PalindromeGame().getMaximum(new String[]{"pfmoxenvxhhcawabitabsmlkqsschmqsw", "ybrdmybmxwmedkdngguzthgtcrffkrbbv", "xbcqzpwazbhiovhisovlgackkqulfsacx"}, new int[]{60487, 54222, 88005}));
    ExampleRunner.eq(71, 1343981, new PalindromeGame().getMaximum(new String[]{"wnteftexemkrrjxzj", "wnteftexemkrrjxzj", "dyfvdlrancofegpiz", "uvfbsitwewtisbfvu", "nsyrjtwpjikskybyh", "lvuhskvdojqmcrrny", "yepsnwwjzrqyznkjf", "qdgdzymwhbzpmvmri", "nqrxagfpbvclcalam", "wnteftexemkrrjxzj", "dyfvdlrancofegpiz", "uvfbsitwewtisbfvu", "noepfvsjeuilfgues", "nsyrjtwpjikskybyh", "hldzgqapnpaqgzdlh", "noepfvsjeuilfgues", "ynrrcmqjodvkshuvl", "hldzgqapnpaqgzdlh", "uvfbsitwewtisbfvu", "uvfbsitwewtisbfvu", "ebfgktggoucjoping", "rrcribarwrabircrr", "ebfgktggoucjoping", "qdgdzymwhbzpmvmri", "noepfvsjeuilfgues", "uvfbsitwewtisbfvu", "nsyrjtwpjikskybyh", "rrcribarwrabircrr", "rrcribarwrabircrr", "lvuhskvdojqmcrrny", "dyfvdlrancofegpiz", "rrcribarwrabircrr", "nqrxagfpbvclcalam", "lvuhskvdojqmcrrny", "uvfbsitwewtisbfvu", "rrcribarwrabircrr", "nqrxagfpbvclcalam", "yepsnwwjzrqyznkjf", "hiqdwkmvkbefxmsen", "hiqdwkmvkbefxmsen", "yepsnwwjzrqyznkjf", "wnteftexemkrrjxzj", "hldzgqapnpaqgzdlh", "hldzgqapnpaqgzdlh", "rrcribarwrabircrr", "hiqdwkmvkbefxmsen", "gkjgyvtkqlamdbnrf", "dyfvdlrancofegpiz", "noepfvsjeuilfgues", "rrcribarwrabircrr"}, new int[]{95590, 90328, 21769, 25048, 29486, 97060, 108874, 99847, 47341, 108055, 36140, 50195, 78855, 31181, 104654, 60673, 41362, 37118, 109227, 104059, 101993, 84665, 59520, 23106, 82062, 54236, 8923, 103851, 69384, 82972, 71920, 95356, 35312, 43247, 106662, 59956, 64851, 16140, 56913, 34866, 105514, 27253, 78742, 68776, 49788, 37132, 12637, 55634, 9549, 3842}));
    ExampleRunner.eq(72, 820747, new PalindromeGame().getMaximum(new String[]{"jlouxawxfaumdipkgejxelpvmnecubgzywknbjhdhtbnse", "oglwoxvkgqvogymmtejdcztkfowqohxqrocutxkmqpztds", "xesmlclsuphyoewtvpaknrwwrnkapvtweoyhpuslclmsex", "dhhxjjssmylgwqhrffzczejhvpyzlamkxsndhdmqavocjm", "xesmlclsuphyoewtvpaknrwwrnkapvtweoyhpuslclmsex", "jlouxawxfaumdipkgejxelpvmnecubgzywknbjhdhtbnse", "negfotpmqovnddaofenmcxcehnezdccfkmpxplchdnlvth", "dhhxjjssmylgwqhrffzczejhvpyzlamkxsndhdmqavocjm", "liocyuhguizvwxugdizckollokczidguxwvziughuycoil", "mjcovaqmdhdnsxkmalzypvhjezczffrhqwglymssjjxhhd"}, new int[]{145092, 152341, 180204, 143143, 152341, 138284, 146548, 198511, 146548, 143143}));
    ExampleRunner.eq(73, 56020, new PalindromeGame().getMaximum(new String[]{"gfkdwurtcbitxxtibctruwdkfg", "eigqalzpsqdzmmzdqspzlaqgie", "tuhamotccvxhbbhxvcctomahut", "zrsierjkdidqyyqdidkjreisrz", "ovylherqshxzppzxhsqrehlyvo", "etxmjvaifgolyylogfiavjmxte", "vnrtzrakqfobxxbofqkarztrnv", "ieyfnjpfbclddbfhqhqkjtxbrv", "xvnkhhzlhwsdvvdswhlzhhknvx", "gnpybizztuvnoonvutzzibypng", "aemikttbbzfmeemfzbbttkimea", "bcobjejewijbaabjiwejejbocb", "suslhrgqenilrygvupxaqfudmh", "cmeekoagehvlwibenkcczuyywx", "tuhamotccvxhbbhxvcctomahut", "ruimegefdtguoougtdfegemiur", "vosicbqqtqefggfeqtqqbcisov", "rqgwhznkoxceddecxoknzhwgqr", "ekbgcbajmwndkkdnwmjabcgbke", "xvnkhhzlhwsdvvdswhlzhhknvx", "vrbxtjkqhqhfbddlcbfpjnfyei", "sqxnmilbnaezttzeanblimnxqs", "vholqbmgcdcloolcdcgmbqlohv", "rqgwhznkoxceddecxoknzhwgqr", "vnrtzrakqfobxxbofqkarztrnv"}, new int[]{8558, 3523, 3227, 709, 6739, 7601, 3815, 6109, 4641, 6073, 7479, 5004, 6682, 7585, 5287, 4905, 4055, 2763, 859, 1968, 8799, 6218, 2974, 3147, 7706}));
    ExampleRunner.eq(74, 73111, new PalindromeGame().getMaximum(new String[]{"zpdifnukixi", "zpdifnukixi", "wtmqcvcqmtw", "wtmqcvcqmtw", "wtmqcvcqmtw", "wtmqcvcqmtw", "wtmqcvcqmtw", "sjmunhwlmpv", "sjmunhwlmpv", "sjmunhwlmpv", "sdlkriyxqcs", "sdlkriyxqcs", "scqxyirklds", "scqxyirklds", "scqxyirklds", "omucwtwcumo", "omucwtwcumo", "omucwtwcumo", "omucwtwcumo", "omucwtwcumo", "omucwtwcumo", "mvuhgpghuvm", "mvuhgpghuvm", "mvuhgpghuvm", "mvuhgpghuvm", "mvuhgpghuvm", "mvuhgpghuvm", "mgbhjkegzef", "mgbhjkegzef", "mgbhjkegzef", "mgbhjkegzef", "mgbhjkegzef", "mgbhjkegzef", "lpgelklegpl", "lpgelklegpl", "lpgelklegpl", "ixikunfidpz", "ixikunfidpz", "ixikunfidpz", "ixikunfidpz", "ixikunfidpz", "fezgekjhbgm", "fezgekjhbgm", "fezgekjhbgm", "fezgekjhbgm", "fezgekjhbgm"}, new int[]{2837, 2087, 4551, 1455, 313, 4408, 210, 1369, 4089, 4265, 4553, 2934, 539, 1548, 885, 3196, 452, 2559, 453, 2182, 403, 3952, 3287, 1542, 237, 1093, 473, 533, 518, 968, 159, 3854, 931, 1005, 2545, 1196, 1907, 2521, 1539, 3589, 1359, 1741, 3132, 1055, 611, 3512}));
    ExampleRunner.eq(75, 23252828, new PalindromeGame().getMaximum(new String[]{"twtteevjzoumciixdnfcksbnethnfub", "dbjtbkcdsiaxsfnwnfsxaisdckbtjbd", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "dbjtbkcdsiaxsfnwnfsxaisdckbtjbd", "twtteevjzoumciixdnfcksbnethnfub", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "twtteevjzoumciixdnfcksbnethnfub", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "dbjtbkcdsiaxsfnwnfsxaisdckbtjbd", "bufnhtenbskcfndxiicmuozjveettwt", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "dbjtbkcdsiaxsfnwnfsxaisdckbtjbd", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "cojwmxcttecsyjxrxjyscettcxmwjoc", "bufnhtenbskcfndxiicmuozjveettwt", "bufnhtenbskcfndxiicmuozjveettwt", "cojwmxcttecsyjxrxjyscettcxmwjoc", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "twtteevjzoumciixdnfcksbnethnfub", "bufnhtenbskcfndxiicmuozjveettwt", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "cojwmxcttecsyjxrxjyscettcxmwjoc", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "bufnhtenbskcfndxiicmuozjveettwt", "bufnhtenbskcfndxiicmuozjveettwt", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "bufnhtenbskcfndxiicmuozjveettwt", "bufnhtenbskcfndxiicmuozjveettwt", "twtteevjzoumciixdnfcksbnethnfub", "twtteevjzoumciixdnfcksbnethnfub", "twtteevjzoumciixdnfcksbnethnfub", "twtteevjzoumciixdnfcksbnethnfub", "twtteevjzoumciixdnfcksbnethnfub", "dbjtbkcdsiaxsfnwnfsxaisdckbtjbd", "bufnhtenbskcfndxiicmuozjveettwt", "twtteevjzoumciixdnfcksbnethnfub", "cojwmxcttecsyjxrxjyscettcxmwjoc", "twtteevjzoumciixdnfcksbnethnfub", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "fwtqfwsnyojlasmnguwrtdjwzbosbpi", "dbjtbkcdsiaxsfnwnfsxaisdckbtjbd", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "ipbsobzwjdtrwugnmsaljoynswfqtwf", "twtteevjzoumciixdnfcksbnethnfub", "twtteevjzoumciixdnfcksbnethnfub"}, new int[]{973668, 914559, 140599, 300625, 824221, 230480, 389527, 66722, 177642, 563778, 50591, 344152, 952389, 681607, 709703, 637522, 526735, 12274, 948668, 930438, 872964, 536625, 351472, 345157, 815463, 841718, 727927, 314638, 569295, 172013, 142069, 213481, 174480, 482335, 503419, 592771, 535587, 413773, 4333, 855242, 674163, 504927, 398529, 99888, 696670, 692392, 468622, 55432, 369067, 517274}));
    ExampleRunner.eq(76, 35311, new PalindromeGame().getMaximum(new String[]{"kibcqdpmlweccpjmfcwiojgzcwzgvaienxnidxjlamsqvv", "emcumbcvoabqhnxympctkiggiktcpmyxnhqbaovcbmucme", "rtynrqfkqiehmhyurjankqtumzfjwysiqgiuqjmsttjlpe", "tesnathynatyaygkxjsyijkmkwkxaupkwkxrbyeyhhxhec", "gpoupunryfalskhiuniifmxghmvofchbshykvftqogcqhg", "xirytgajpgrnpyizfovkdxivsvdfwzisjazrcnuakuvrzz", "rtynrqfkqiehmhyurjankqtumzfjwysiqgiuqjmsttjlpe", "sogqfykcvppdikillubxngfmnqdmskjtkiuftqoryxwegj", "oimnyofaexstemceqepgzyhpkqsvbbnkylofjkkxjacgyr", "sxudmqletsicytaeuaanedjrqncmocljnpfyoiynjbgwxz", "kqmjfktfxtwgsachykanvfcbcpsttniujbgznawznkapzq", "ejpetvhqsdhljmlwhwdpsriyoaorhuehtdkdznmsjvhwfn", "jbrrcrnnwbkgmppbtxgjcgnubawkrowpkznefzppuwwkle", "zgdarnqhvxlruhdkeryqdprjrnuzzgvfiuuubwyzbrowfo", "ghqcgoqtfvkyhsbhcfovmhgxmfiinuihkslafyrnupuopg", "tesnathynatyaygkxjsyijkmkwkxaupkwkxrbyeyhhxhec", "pllytrxnezkhwjvrspgogewtdtslmefzblirgqzdqsznob", "pllytrxnezkhwjvrspgogewtdtslmefzblirgqzdqsznob", "eicjejjwgejipspvwcxantiitnaxcwvpspijegwjjejcie", "fqtxstqwwgkjdopoxpsambjilssfpkfudrlgsfkwelawaw", "jelwfympzrvtjfjcecuoerppndszffsnwoeotyonycyigc", "oimnyofaexstemceqepgzyhpkqsvbbnkylofjkkxjacgyr", "ejpetvhqsdhljmlwhwdpsriyoaorhuehtdkdznmsjvhwfn", "sxudmqletsicytaeuaanedjrqncmocljnpfyoiynjbgwxz", "recbvgajoywpxiqivthntydpxcodclnknilquwtvnprjzp", "ghqcgoqtfvkyhsbhcfovmhgxmfiinuihkslafyrnupuopg", "eicjejjwgejipspvwcxantiitnaxcwvpspijegwjjejcie", "fqtxstqwwgkjdopoxpsambjilssfpkfudrlgsfkwelawaw", "fqtxstqwwgkjdopoxpsambjilssfpkfudrlgsfkwelawaw", "kibcqdpmlweccpjmfcwiojgzcwzgvaienxnidxjlamsqvv"}, new int[]{9956, 10376, 4683, 3306, 9880, 6789, 8832, 3564, 12548, 5517, 9893, 5155, 2486, 6726, 4672, 10028, 6577, 5227, 9612, 4929, 7411, 1938, 3196, 7172, 13347, 3597, 771, 11692, 3471, 2335}));
    ExampleRunner.eq(77, 42407, new PalindromeGame().getMaximum(new String[]{"trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "trcnfrnorsrosocnjzubazgzdfbfrhdrur", "tpremyjgqzgvhxopllpoxhvgzqgjymerpt", "tpremyjgqzgvhxopllpoxhvgzqgjymerpt", "tpremyjgqzgvhxopllpoxhvgzqgjymerpt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "rurdhrfbfdzgzabuzjncosorsronrfncrt", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "pxuevgoymjtpgrwyaaywrgptjmyogveuxp", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cwkmfjerzqbirweyelwsnjagwryulicwfc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc", "cfwciluyrwgajnswleyewribqzrejfmkwc"}, new int[]{592, 770, 855, 987, 629, 1299, 819, 218, 770, 702, 1204, 855, 1565, 479, 643, 846, 980, 727, 1307, 477, 702, 1112, 984, 500, 829, 471, 1400, 1220, 1112, 980, 562, 1242, 683, 846, 1242, 611, 1025, 1039, 477, 506, 1186, 819, 302, 1053, 921, 1557, 1046, 1420, 1333, 786}));
    ExampleRunner.eq(78, 17338697, new PalindromeGame().getMaximum(new String[]{"pobsyhohxupuxhohysbop", "mjxzwtqyltfcjgultqdiu", "mjxzwtqyltfcjgultqdiu", "pobsyhohxupuxhohysbop", "uidqtlugjcftlyqtwzxjm", "mjxzwtqyltfcjgultqdiu", "mwdpkssbzcqmdupryzzsf", "mjxzwtqyltfcjgultqdiu", "mwdpkssbzcqmdupryzzsf", "uidqtlugjcftlyqtwzxjm", "uidqtlugjcftlyqtwzxjm", "kewjmsztyujuytzsmjwek", "uidqtlugjcftlyqtwzxjm", "kewjmsztyujuytzsmjwek", "fszzyrpudmqczbsskpdwm", "pobsyhohxupuxhohysbop", "mjxzwtqyltfcjgultqdiu", "mjxzwtqyltfcjgultqdiu", "uidqtlugjcftlyqtwzxjm", "mjxzwtqyltfcjgultqdiu", "uidqtlugjcftlyqtwzxjm", "mjxzwtqyltfcjgultqdiu", "mwdpkssbzcqmdupryzzsf", "fszzyrpudmqczbsskpdwm", "mjxzwtqyltfcjgultqdiu", "kewjmsztyujuytzsmjwek", "uidqtlugjcftlyqtwzxjm", "mwdpkssbzcqmdupryzzsf", "mjxzwtqyltfcjgultqdiu", "uidqtlugjcftlyqtwzxjm", "fszzyrpudmqczbsskpdwm", "uidqtlugjcftlyqtwzxjm", "mjxzwtqyltfcjgultqdiu", "uidqtlugjcftlyqtwzxjm", "fszzyrpudmqczbsskpdwm", "uidqtlugjcftlyqtwzxjm", "kewjmsztyujuytzsmjwek", "kewjmsztyujuytzsmjwek", "mwdpkssbzcqmdupryzzsf", "kewjmsztyujuytzsmjwek", "mwdpkssbzcqmdupryzzsf", "mjxzwtqyltfcjgultqdiu", "fszzyrpudmqczbsskpdwm", "mwdpkssbzcqmdupryzzsf", "mwdpkssbzcqmdupryzzsf", "mwdpkssbzcqmdupryzzsf", "mwdpkssbzcqmdupryzzsf", "fszzyrpudmqczbsskpdwm", "mjxzwtqyltfcjgultqdiu", "pobsyhohxupuxhohysbop"}, new int[]{390281, 312240, 270429, 303257, 210175, 594465, 332025, 360307, 625927, 599978, 211672, 570374, 635361, 247817, 345107, 385285, 621545, 420631, 390381, 242304, 292295, 163222, 44112, 46604, 589644, 133538, 605457, 39962, 644497, 368355, 543119, 462574, 548031, 22471, 31851, 318115, 392193, 60788, 585525, 195274, 631467, 202852, 454688, 10393, 282224, 601320, 83485, 652567, 175372, 603687}));
    ExampleRunner.eq(79, 2225181, new PalindromeGame().getMaximum(new String[]{"ucaadvpcfwri", "mvuduttuduvm", "sjeqyddyqejs", "xogngjjgngox", "sccnygcvowbw", "fiixevvexiif", "ooeunmmnueoo", "bhiihpphiihb", "gicfyffyfcig", "ucaadvpcfwri", "oluktcctkulo", "ztfqdgulbdaf", "xogngjjgngox", "gvzmkkkkmzvg", "xgxfdioqxxne", "twzdvxxvdzwt", "ggsrjzzjrsgg", "lcrsqrrqsrcl", "drhkpddpkhrd", "tuexzxrayxrg", "lmxilgmmblgm", "ovdehtthedvo", "nmszoyyozsmn", "udorvuuvrodu", "muyfvcmexhgq", "sfuugaaguufs", "hgtgfyyfgtgh", "nozholdswkyv", "vpykjcqwzjye", "svekzrrzkevs", "naakdhhdkaan", "ooeunmmnueoo", "kbzoqffqozbk", "lfiayrohclxo", "dmnudiidunmd", "gaqgiffigqag", "qnhcossochnq", "ubhbqzzqbhbu", "ujjzzcczzjju", "vpykjcqwzjye", "epmpcjjcpmpe", "cxdasccsadxc", "gggzautkciev", "vcuwttttwucv", "prlxqeeqxlrp", "gsnjhcchjnsg"}, new int[]{557394, 346623, 334763, 330961, 623522, 287120, 612231, 466003, 108951, 325922, 457228, 297309, 134821, 495627, 352930, 590817, 144763, 4857, 421751, 278947, 402401, 454570, 291555, 81988, 579098, 245385, 588440, 34703, 400799, 21196, 147823, 509416, 157271, 279843, 134458, 334258, 324528, 307907, 100365, 575037, 414250, 357632, 536179, 89445, 143634, 637752}));
    ExampleRunner.eq(80, 11704520, new PalindromeGame().getMaximum(new String[]{"xmsthissssihtsmx", "jneqjxwqqwxjqenj", "hhzlnfdiidfnlzhh", "skselrjppjrlesks", "ykpqiwlrrlwiqpky", "nfoyoiazzaioyofn", "ykpqiwlrrlwiqpky", "hucchjmttoaiakrs", "kjltofprrpfotljk", "hhzlnfdiidfnlzhh", "skselrjppjrlesks", "ppfhvyuqquyvhfpp", "xmsthissssihtsmx", "mjhrznguzdwjspns", "hucchjmttoaiakrs", "ebynqfednnmihqws", "mqjnzeyzzyeznjqm", "swqhimnndefqnybe", "drnnotfzzftonnrd", "tyvuqbmhhmbquvyt", "kqlmbzjkkjzbmlqk", "nujkjafoofajkjun", "kjltofprrpfotljk", "drnnotfzzftonnrd", "jneqjxwqqwxjqenj", "nujkjafoofajkjun", "swqhimnndefqnybe", "tyvuqbmhhmbquvyt", "kqlmbzjkkjzbmlqk", "jneqjxwqqwxjqenj", "xpzgwxxggxxwgzpx", "vwkfhdlufeetbvzs", "wyoilvawwavlioyw", "szvbteefuldhfkwv", "okjwdxmjjmxdwjko", "okjwdxmjjmxdwjko", "xmsthissssihtsmx", "hhzlnfdiidfnlzhh", "hgjjqrkstcpdgzwn", "nwzgdpctskrqjjgh", "ptdoljqbbqjlodtp", "ppfhvyuqquyvhfpp", "skselrjppjrlesks", "swqhimnndefqnybe"}, new int[]{116218, 543416, 516519, 306926, 360922, 327080, 400802, 190507, 341548, 206553, 129776, 624598, 680579, 396840, 94419, 12898, 262421, 81924, 409250, 528435, 542795, 228145, 317353, 92653, 455496, 383432, 195452, 34344, 564691, 322107, 237401, 540513, 444995, 51093, 72889, 394922, 273479, 444288, 382931, 386818, 334063, 529793, 403086, 434911}));
    ExampleRunner.eq(81, 469713, new PalindromeGame().getMaximum(new String[]{"yljetsktoxqksxuujfjuuxskqxotkstejly", "wumaunvtfyigpdjcrpztheqytovrmoqctxr", "wumaunvtfyigpdjcrpztheqytovrmoqctxr", "vvjfzlobvhpckxefnggcbznipfkbpftnbpe", "vsknpebkkucxnohvjbjvhonxcukkbepnksv", "vopqrqfnmouaeejclqlcjeeauomnfqrqpov", "vnwyusubxakvmfyhqtpwjchofxxourpoqsr", "vdpdgqtwbisfwxuvhdpvdqcxmcbuhtsnvzm", "vdpdgqtwbisfwxuvhdpvdqcxmcbuhtsnvzm", "uteenvglamvmtqbzaaazbqtmvmalgvneetu", "ruetqyorvwbneooxmqsuqkcumeweohlmkpl", "rkbarjwbifqducftkemtxxdsqmrehdeeskn", "rkbarjwbifqducftkemtxxdsqmrehdeeskn", "qyjjydqohzxjmmplstslpmmjxzhoqdyjjyq", "pqzkrkfjfhigtbuxgagxubtgihfjfkrkzqp", "npdnsfrbnzymcuwyqcqywucmyznbrfsndpn", "nkseedhermqsdxxtmektfcudqfibwjrabkr", "kwiclzwqapgwedjzgdgzjdewgpaqwzlciwk", "kwiclzwqapgwedjzgdgzjdewgpaqwzlciwk", "jvicdvmnqicwmfuqwgwqufmwciqnmvdcivj", "jvicdvmnqicwmfuqwgwqufmwciqnmvdcivj", "janzgyxtlbftcuuqctsbuipzsqgggozzroy", "janzgyxtlbftcuuqctsbuipzsqgggozzroy", "isrbnxmgiejgrpnrefernprgjeigmxnbrsi", "isrbnxmgiejgrpnrefernprgjeigmxnbrsi", "iosvzwsxgdwheztzaaztvznjnifejtdcrhu", "iosvzwsxgdwheztzaaztvznjnifejtdcrhu", "iosvzwsxgdwheztzaaztvznjnifejtdcrhu", "hzygigdtsacyqsrgsasgrsqycastdgigyzh", "hzygigdtsacyqsrgsasgrsqycastdgigyzh", "epbntfpbkfpinzbcggnfexkcphvbolzfjvv", "djdudasnssdstbenypynebtsdssnsadudjd", "djdudasnssdstbenypynebtsdssnsadudjd", "anhntnpmilatzqigqbqgiqztalimpntnhna", "anhntnpmilatzqigqbqgiqztalimpntnhna", "anhntnpmilatzqigqbqgiqztalimpntnhna"}, new int[]{17138, 36372, 27852, 27852, 45337, 18607, 23170, 28919, 45494, 26089, 40852, 10952, 37117, 28242, 28919, 7590, 28242, 27859, 24998, 21988, 41836, 22951, 19403, 28786, 16815, 30972, 21316, 38542, 36838, 37878, 27859, 4845, 21847, 14618, 14618, 24998}));
    ExampleRunner.eq(82, 626665, new PalindromeGame().getMaximum(new String[]{"blmdsltipfw", "blmdsltipfw", "kbnfyvyobyr", "afphpobziix", "afphpobziix", "uogfjtjfgou", "afphpobziix", "afphpobziix", "tovxbjdmqrf", "afphpobziix", "blmdsltipfw", "fbqhyyjooiq", "wfpitlsdmlb", "kbnfyvyobyr", "uogfjtjfgou", "frqmdjbxvot", "qioojyyhqbf", "fbqhyyjooiq", "frqmdjbxvot", "kbnfyvyobyr", "uogfjtjfgou", "tovxbjdmqrf"}, new int[]{7312, 17059, 51411, 69598, 68944, 23078, 53983, 91104, 85673, 40468, 69196, 74185, 89251, 83564, 72477, 14741, 58602, 48925, 30190, 87137, 58804, 50468}));
    ExampleRunner.eq(83, 62589, new PalindromeGame().getMaximum(new String[]{"femnjowaaeae", "drywdwwdwyrd", "rdkgzoozgkdr", "drywdwwdwyrd", "rnzshtacblvc", "fhfzyrryzfhf", "rnzshtacblvc", "rdkgzoozgkdr", "rdkgzoozgkdr", "pvvxbllbxvvp", "femnjowaaeae", "ckwpbbbbpwkc", "cvlbcathsznr", "lkxslsslsxkl", "fhfzyrryzfhf", "xmyohddhoymx", "guzoetqtmdij", "myoumrrmuoym", "ajpjnccnjpja", "pvvxbllbxvvp", "ckwpbbbbpwkc", "guzoetqtmdij", "ndnzussuzndn", "tnyzxhhxzynt", "yqxubttbuxqy", "dzkiyeeyikzd", "ndnzussuzndn", "ndnzussuzndn", "myoumrrmuoym", "qtibgllgbitq", "ajpjnccnjpja", "pjxgqbbqgxjp", "jidmtqteozug", "lkxslsslsxkl", "myoumrrmuoym", "rnzshtacblvc", "gakkooookkag", "yqxubttbuxqy", "pjxgqbbqgxjp", "gakkooookkag", "lkxslsslsxkl", "fhfzyrryzfhf", "tnyzxhhxzynt"}, new int[]{1364, 2817, 1291, 758, 3255, 1559, 2014, 292, 885, 3295, 2989, 2560, 3107, 2919, 2372, 3371, 1721, 3275, 1780, 1915, 2827, 810, 592, 212, 1559, 1383, 1119, 898, 2626, 2940, 2306, 911, 2405, 1022, 1511, 2710, 204, 2338, 2074, 1303, 3252, 2667, 567}));
    ExampleRunner.eq(84, 50313, new PalindromeGame().getMaximum(new String[]{"lbqrjiznoitwbqnqvuvsmolwqprca", "ivrdccxqsrbdciaicdbrsqxccdrvi", "lbqrjiznoitwbqnqvuvsmolwqprca", "lbqrjiznoitwbqnqvuvsmolwqprca", "acrpqwlomsvuvqnqbwtionzijrqbl", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "darpflzfnlcnqvasljnzjnodpulom", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "ivrdccxqsrbdciaicdbrsqxccdrvi", "lbqrjiznoitwbqnqvuvsmolwqprca", "bhjzqrwakrlmisgpfjfsrmcblpiiy", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "ivrdccxqsrbdciaicdbrsqxccdrvi", "bhjzqrwakrlmisgpfjfsrmcblpiiy", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "acrpqwlomsvuvqnqbwtionzijrqbl", "ivrdccxqsrbdciaicdbrsqxccdrvi", "darpflzfnlcnqvasljnzjnodpulom", "bhjzqrwakrlmisgpfjfsrmcblpiiy", "lbqrjiznoitwbqnqvuvsmolwqprca", "ivrdccxqsrbdciaicdbrsqxccdrvi", "ivrdccxqsrbdciaicdbrsqxccdrvi", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "bhjzqrwakrlmisgpfjfsrmcblpiiy", "lbqrjiznoitwbqnqvuvsmolwqprca", "yiiplbcmrsfjfpgsimlrkawrqzjhb", "acrpqwlomsvuvqnqbwtionzijrqbl", "acrpqwlomsvuvqnqbwtionzijrqbl", "acrpqwlomsvuvqnqbwtionzijrqbl", "bhjzqrwakrlmisgpfjfsrmcblpiiy"}, new int[]{2979, 2770, 1745, 831, 125, 1960, 1630, 574, 1615, 461, 1740, 2575, 2855, 1461, 2495, 14, 2888, 3644, 3432, 2568, 1997, 581, 581, 3511, 333, 2393, 1942, 1427, 893, 1442, 3466, 608}));
    ExampleRunner.eq(85, 136876, new PalindromeGame().getMaximum(new String[]{"ogfb", "ceec", "aytd", "epxk", "szmx", "dtya", "tonc", "adda", "ceec", "dfmi", "riir", "icci", "anwq", "nzrr", "gntj", "adda", "oxve", "riir", "pwwp", "mttm", "cnot", "oiio", "mttm", "diid", "ywrf", "frwy", "kuuk", "imfd", "jtcv", "atqc", "kuuk", "anwq", "jtcv", "duud", "jynn", "gevx", "dvlq", "oiio", "cnot", "kuuk", "nzrr", "mppm", "kxpe", "arra", "qjlz", "dztx", "qwna"}, new int[]{8465, 6903, 7900, 7597, 7898, 426, 3358, 1261, 4471, 3608, 5527, 1610, 1546, 9321, 1209, 5090, 5527, 8725, 8574, 9612, 4421, 3507, 5774, 8850, 589, 8686, 3824, 237, 5537, 2150, 5894, 8083, 670, 2929, 5525, 4503, 5100, 7940, 6079, 8662, 1651, 6879, 1425, 4276, 2083, 1333, 6672}));
    ExampleRunner.eq(86, 11894427, new PalindromeGame().getMaximum(new String[]{"heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "heekgkeeh", "kfloccjxw", "kfloccjxw", "sriwijxrx", "sriwijxrx", "sriwijxrx", "sriwijxrx", "sriwijxrx", "sriwijxrx", "sriwijxrx", "sriwijxrx", "sriwijxrx", "wwnpppnww", "wwnpppnww", "wwnpppnww", "wwnpppnww", "wwnpppnww", "wwnpppnww", "wwnpppnww", "wwnpppnww", "wxjccolfk", "wxjccolfk", "wxjccolfk", "wxjccolfk", "wxjccolfk", "wxjccolfk", "wxjccolfk", "wxjccolfk", "wxjccolfk", "xrxjiwirs", "xrxjiwirs", "xrxjiwirs", "xrxjiwirs", "xrxjiwirs", "xrxjiwirs", "xrxjiwirs", "xrxjiwirs", "xrxjiwirs"}, new int[]{291588, 88674, 186593, 345840, 343186, 195482, 287926, 323387, 370054, 521861, 260649, 370542, 438425, 255232, 130545, 355120, 322060, 322060, 79525, 108357, 370054, 281733, 109072, 323387, 389235, 344385, 343186, 44636, 75598, 102926, 222961, 389235, 186219, 516416, 186219, 64975, 545366, 10930, 318182, 13873, 222961, 10930, 264829, 344385, 68727, 418499, 263223, 358667, 79525, 430346}));
    ExampleRunner.eq(87, 1522621, new PalindromeGame().getMaximum(new String[]{"cmzwyjyxlnsfgkwrbhlprflcmqpxiuyj", "cmzwyjyxlnsfgkwrbhlprflcmqpxiuyj", "djkzgyfopotaemgodwuctaprrpqnntoi", "dyralguuxdgakqwmmwqkagdxuuglaryd", "dyralguuxdgakqwmmwqkagdxuuglaryd", "fnohkqwgbabqyiipvxxekjqygrwbkdnp", "hluflnqdgfpvzadcgaihfacbrnzyyfqx", "hwwcbopfzpwrywyvwcyajernopiexohg", "iotnnqprrpatcuwdogmeatopofygzkjd", "jyuixpqmclfrplhbrwkgfsnlxyjywzmc", "lauvvxlwowszjofmmfojzswowlxvvual", "mslcwsheidjrnaewcxnhydtxdqrrfnlu", "oemrtlibirzckkoxkphcybjwhhgxawvl", "pndkbwrgyqjkexxvpiiyqbabgwqkhonf", "smcdtnyjzfdsidzddzdisdfzjyntdcms", "smcdtnyjzfdsidzddzdisdfzjyntdcms", "viquqzrblirtbkcwwckbtrilbrzquqiv", "viquqzrblirtbkcwwckbtrilbrzquqiv"}, new int[]{190268, 109231, 158715, 180967, 143667, 65850, 78186, 142888, 150816, 7550, 142387, 220028, 2856, 10889, 200326, 18329, 33399, 219458}));
    ExampleRunner.eq(88, 607080, new PalindromeGame().getMaximum(new String[]{"zsnbmrmplplpmrmbnsz", "yznrijxgkjmdnoxwvim", "yvubnsqtadzgnwzxete", "yljzmxkofimhtebjoze", "yfrpussjgbvypnhjvop", "xrvaavzjlltdyhzdcix", "xcfoqkhxpapxhkqofcx", "wxlswakuixealioqkms", "vvggjwomghmzahsdzfv", "vlctnuiqlbdrpepxrbi", "shsbdjlzcwczljdbshs", "rtllbcfakxeqhybbiig", "reygnbnwkuntluxhakz", "ppjzfgsiztzisgfzjpp", "onfddtzceqgqmwggflq", "occdjthynqgqxiugevg", "nrmabbpxiptifxjzvuf", "nfcrmvijfmfjivmrcfn", "kzrsmqmkdjiobbhkqef", "khplhlckhbcailbdguc", "jwbasqklruqufumwdnk", "jqyieymkutvehxscgrg", "irlrrvfwxyoufpiqecy", "irfdcjktodkejyagpll", "imqvvjnunzakridvrgm", "ijmagrxbjbqltpertln", "grgcsxhevtukmyeiyqj", "ebsbquqwapbtgcjzmyv", "eaemnohdduddhonmeae", "dfzirqcmnkjsnyglrlx", "dewjotroiegexqrrxha", "dekfiyyokakoyyifked", "cpkpstzlfnflztspkpc", "aybejfkeoagozyobpog", "avvymvdsntfylpmpobm", "amlbianyciuvjattvhl"}, new int[]{44597, 44863, 98628, 215813, 82394, 180514, 144563, 96161, 4932, 82707, 243511, 53869, 223450, 268414, 165252, 130637, 29569, 280986, 136911, 2330, 42303, 116948, 256209, 157799, 269801, 207606, 209146, 235683, 204049, 262055, 218947, 58113, 3001, 66931, 112577, 97114}));
    ExampleRunner.eq(89, 459736, new PalindromeGame().getMaximum(new String[]{"obviwimtyqgptlydmzroa", "socdvghvhrlxpvnkmrdev", "dovgyjqfddhcteixcrfiy", "hxtsillmmxitisirwvwlj", "nvlyjyklvypyvlkyjylvn", "xhpdbwmdhsqshdmwbdphx", "hxtsillmmxitisirwvwlj", "jlwvwrisitixmmllistxh", "uehtutisyvmgkxlbomcbv", "snrjwjevnrsdnyljnbksz", "zyekxeefiztzifeexkeyz", "zyekxeefiztzifeexkeyz", "sxoapnliqnvnqilnpaoxs", "uehtutisyvmgkxlbomcbv", "jlwvwrisitixmmllistxh", "socdvghvhrlxpvnkmrdev", "xsztxcwxggjvkxuplxzqy", "hxtsillmmxitisirwvwlj", "mploknwelhfslqmxoxvis", "dovgyjqfddhcteixcrfiy"}, new int[]{77729, 99477, 66238, 49028, 66238, 54747, 107287, 36484, 55720, 38183, 38451, 55720, 41679, 99277, 96351, 41679, 54834, 59205, 75314, 44906}));
    ExampleRunner.eq(90, 68897, new PalindromeGame().getMaximum(new String[]{"rzppjimqangxrsmtkxrprle", "hzsxtmjulckgkclujmtxszh", "quhcbaagsvxriekposknpft", "rozhsqkdzcdavqhgybcnfoa", "ozlxvrqzjkssskjzqrvxlzo", "hzbsqdiywxwdtwvkfstyrev", "icdwpezugigvetnkvpemdwj", "uwhhjeqltgjkraeuhlpdftz", "cilikkssohcjyconfdalrmj", "jwdmepvkntevgiguzepwdci", "eipshyeertzaztreeyhspie"}, new int[]{3974, 3571, 1447, 1149, 12077, 6467, 21022, 22121, 23934, 28268, 19607}));
    ExampleRunner.eq(91, 3725832, new PalindromeGame().getMaximum(new String[]{"yuqewzbelrrumvmcsdrpikzdnekqcitthgbnimgkcaqrkueqo", "sjxnnyplhofzwgkeotbbiuwxftmhgafininmwihyojgvbwtwd", "yuqewzbelrrumvmcsdrpikzdnekqcitthgbnimgkcaqrkueqo", "yuqewzbelrrumvmcsdrpikzdnekqcitthgbnimgkcaqrkueqo", "ruyohhlbmpwtipeuogyjgdjutujdgjygouepitwpmblhhoyur", "dnorjjryjqwywozwsqzfdfztxopeudrrdrdmjvsjdffbrxyfj", "dnorjjryjqwywozwsqzfdfztxopeudrrdrdmjvsjdffbrxyfj", "jfyxrbffdjsvjmdrdrrduepoxtzfdfzqswzowywqjyrjjrond", "jfyxrbffdjsvjmdrdrrduepoxtzfdfzqswzowywqjyrjjrond", "vqsejyhtrhloerpsozupyzxtfoddsopzsuvblfxwzpouabmqf", "ruyohhlbmpwtipeuogyjgdjutujdgjygouepitwpmblhhoyur", "jfyxrbffdjsvjmdrdrrduepoxtzfdfzqswzowywqjyrjjrond", "jfyxrbffdjsvjmdrdrrduepoxtzfdfzqswzowywqjyrjjrond", "dnorjjryjqwywozwsqzfdfztxopeudrrdrdmjvsjdffbrxyfj", "dnorjjryjqwywozwsqzfdfztxopeudrrdrdmjvsjdffbrxyfj", "vqsejyhtrhloerpsozupyzxtfoddsopzsuvblfxwzpouabmqf"}, new int[]{464972, 445821, 496340, 343981, 478941, 480323, 619306, 153655, 91508, 89100, 300720, 524909, 367976, 259538, 448956, 612620}));
    ExampleRunner.eq(92, 8654, new PalindromeGame().getMaximum(new String[]{"wgojhrzwvxa", "qlifppldqta", "qnemcpsouha", "zirmlrniyac", "hksyixoshvd", "mqpcygrgvoy", "grbrwublqbk", "dknbuwubnkd", "mygzlwsaryk", "wmfnusuxkly", "kjxtppptxjk", "wgojhrzwvxa", "rswtwjycqxx", "ybhwzzunbhd", "euwoirhetjw", "yvvctujpxxm", "gwferdrefwg", "kyoflxlfoyk", "dhbnuzzwhby", "lvlgwgmnlbw", "plvmlrfhuvy", "pigbefniuxs", "zmybbbbbymz", "matcdfqdxho", "imldklqldgw", "jalbeqojwsk", "rswtwjycqxx", "gahiydlufsn", "opdaeneadpo", "iwbzoeghocn", "euwoirhetjw", "pgpqaxaqpgp", "benkwywkneb", "zmybbbbbymz", "axvwzrhjogw", "yvuhfrlmvlp", "wbswnznwsbw", "bjllfuflljb", "cpzdgvojkgt", "bydqzqzqdyb", "hzrwfsfwrzh", "tgjipmnmuzz", "mzqqruszudm", "tgjipmnmuzz", "dvhsoxiyskh", "zzumnmpijgt", "plvmlrfhuvy", "hksyixoshvd", "rmfionfpujv", "premvzwjtsf"}, new int[]{921, 98, 143, 130, 736, 677, 863, 854, 637, 466, 458, 621, 1033, 248, 150, 394, 789, 1022, 555, 764, 664, 831, 357, 380, 998, 694, 15, 870, 848, 293, 103, 221, 308, 599, 842, 289, 656, 745, 724, 526, 1015, 991, 603, 41, 169, 931, 994, 664, 116, 19}));
    ExampleRunner.eq(93, 1860, new PalindromeGame().getMaximum(new String[]{"baxbfmatowvkzursiflar", "njrpmmbshhdwjhisyttrj", "yymqubrlpeyrbbmhgurdc", "njrpmmbshhdwjhisyttrj", "baxbfmatowvkzursiflar", "njrpmmbshhdwjhisyttrj", "ekkjzzugowrwoguzzjkke", "yymqubrlpeyrbbmhgurdc", "ekkjzzugowrwoguzzjkke", "baxbfmatowvkzursiflar"}, new int[]{102, 243, 30, 418, 283, 507, 1056, 1429, 804, 98}));
    ExampleRunner.eq(94, 499, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed"}, new int[]{24, 7, 63, 222, 190}));
    ExampleRunner.eq(95, 1, new PalindromeGame().getMaximum(new String[]{"a"}, new int[]{1}));
    ExampleRunner.eq(96, 10, new PalindromeGame().getMaximum(new String[]{"topcoder", "redcoder", "redocpot"}, new int[]{7, 5, 3}));
    ExampleRunner.eq(97, 50000000, new PalindromeGame().getMaximum(new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y"}, new int[]{1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000}));
    ExampleRunner.eq(98, 150, new PalindromeGame().getMaximum(new String[]{"bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb", "bdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdbbdcaffacdb"}, new int[]{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}));
    ExampleRunner.eq(99, 11, new PalindromeGame().getMaximum(new String[]{"aba"}, new int[]{11}));
    ExampleRunner.eq(100, 10, new PalindromeGame().getMaximum(new String[]{"a"}, new int[]{10}));
    ExampleRunner.eq(101, 7, new PalindromeGame().getMaximum(new String[]{"cac", "bab"}, new int[]{7, 6}));
    ExampleRunner.eq(102, 9, new PalindromeGame().getMaximum(new String[]{"a", "b", "a", "a"}, new int[]{1, 2, 3, 4}));
    ExampleRunner.eq(103, 34, new PalindromeGame().getMaximum(new String[]{"a", "b", "b", "c", "d"}, new int[]{1, 12, 14, 8, 5}));
    ExampleRunner.eq(104, 1, new PalindromeGame().getMaximum(new String[]{"aba"}, new int[]{1}));
    ExampleRunner.eq(105, 50, new PalindromeGame().getMaximum(new String[]{"aaa", "aba"}, new int[]{50, 12}));
    ExampleRunner.eq(106, 1000, new PalindromeGame().getMaximum(new String[]{"a"}, new int[]{1000}));
    ExampleRunner.eq(107, 11, new PalindromeGame().getMaximum(new String[]{"aaa"}, new int[]{11}));
    ExampleRunner.eq(108, 3000, new PalindromeGame().getMaximum(new String[]{"topcoderaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "abaabaabaabaabaabaabaabaabaabaabaaba", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaredocpot"}, new int[]{1000, 1000, 1000}));
    ExampleRunner.eq(109, 9, new PalindromeGame().getMaximum(new String[]{"aaaa", "cbbc", "aaaa", "aaaa", "dawg"}, new int[]{1, 2, 4, 3, 100}));
    ExampleRunner.eq(110, 11012, new PalindromeGame().getMaximum(new String[]{"ab", "ab", "ab", "ba", "ba", "ba", "ba"}, new int[]{1, 2, 3, 4, 1000, 6, 10000}));
    ExampleRunner.eq(111, 9, new PalindromeGame().getMaximum(new String[]{"aba", "fef", "aba", "aba"}, new int[]{1, 4, 2, 3}));
    ExampleRunner.eq(112, 10, new PalindromeGame().getMaximum(new String[]{"aba"}, new int[]{10}));
    ExampleRunner.eq(113, 111, new PalindromeGame().getMaximum(new String[]{"aaa", "aaa", "aaa"}, new int[]{100, 10, 1}));
    ExampleRunner.eq(114, 6, new PalindromeGame().getMaximum(new String[]{"ab", "aa", "ba"}, new int[]{2, 2, 2}));
    ExampleRunner.eq(115, 718, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed", "cba"}, new int[]{7, 24, 63, 222, 190, 212}));
    ExampleRunner.eq(116, 10, new PalindromeGame().getMaximum(new String[]{"aaa"}, new int[]{10}));
    ExampleRunner.eq(117, 12, new PalindromeGame().getMaximum(new String[]{"ab", "ba", "ab"}, new int[]{5, 6, 6}));
    ExampleRunner.eq(118, 5, new PalindromeGame().getMaximum(new String[]{"aba", "bbc", "cbb"}, new int[]{1, 2, 2}));
    ExampleRunner.eq(119, 441, new PalindromeGame().getMaximum(new String[]{"abc", "sss", "cba"}, new int[]{3, 433, 5}));
    ExampleRunner.eq(120, 7, new PalindromeGame().getMaximum(new String[]{"aba", "ccc", "mmm"}, new int[]{5, 7, 3}));
    ExampleRunner.eq(121, 16, new PalindromeGame().getMaximum(new String[]{"aba", "cdc", "cdc", "cdc"}, new int[]{5, 3, 7, 4}));
    ExampleRunner.eq(122, 1, new PalindromeGame().getMaximum(new String[]{"abcba"}, new int[]{1}));
    ExampleRunner.eq(123, 45, new PalindromeGame().getMaximum(new String[]{"a", "a", "a", "b", "b", "b"}, new int[]{10, 10, 5, 10, 10, 3}));
    ExampleRunner.eq(124, 10, new PalindromeGame().getMaximum(new String[]{"abcd", "dcba", "abcd", "dcba"}, new int[]{1, 2, 3, 4}));
    ExampleRunner.eq(125, 559, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed", "aba", "aba", "aba"}, new int[]{24, 7, 63, 222, 190, 20, 10, 30}));
    ExampleRunner.eq(126, 72, new PalindromeGame().getMaximum(new String[]{"abc", "aba", "cba"}, new int[]{23, 24, 25}));
    ExampleRunner.eq(127, 87, new PalindromeGame().getMaximum(new String[]{"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u"}, new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 87, 9, 1, 2, 1}));
    ExampleRunner.eq(128, 12, new PalindromeGame().getMaximum(new String[]{"aba"}, new int[]{12}));
    ExampleRunner.eq(129, 37, new PalindromeGame().getMaximum(new String[]{"abc", "eec", "cba", "cee", "abc", "ced", "cce"}, new int[]{7, 8, 9, 11, 9, 7, 8}));
    ExampleRunner.eq(130, 4, new PalindromeGame().getMaximum(new String[]{"a", "b", "a"}, new int[]{1, 2, 1}));
    ExampleRunner.eq(131, 1002, new PalindromeGame().getMaximum(new String[]{"ab", "ba", "cc", "dd"}, new int[]{1, 1, 500, 1000}));
    ExampleRunner.eq(132, 10, new PalindromeGame().getMaximum(new String[]{"aa", "ab", "ab", "ba", "cd", "dc", "dc"}, new int[]{1, 1, 2, 3, 1, 2, 3}));
    ExampleRunner.eq(133, 110, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "cba"}, new int[]{1, 10, 100}));
    ExampleRunner.eq(134, 13, new PalindromeGame().getMaximum(new String[]{"abc", "def", "ghi", "jkl", "mno", "onm", "lkj", "fed", "cba", "ihg", "pep", "mir", "rim"}, new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}));
    ExampleRunner.eq(135, 6, new PalindromeGame().getMaximum(new String[]{"abc", "cba", "ccc"}, new int[]{1, 2, 3}));
    ExampleRunner.eq(136, 10, new PalindromeGame().getMaximum(new String[]{"aba", "ddd"}, new int[]{5, 10}));
    ExampleRunner.eq(137, 21, new PalindromeGame().getMaximum(new String[]{"aaa", "aaa", "aaa", "aaa", "aaa"}, new int[]{5, 3, 4, 5, 4}));
    ExampleRunner.eq(138, 20, new PalindromeGame().getMaximum(new String[]{"aba", "aca"}, new int[]{10, 20}));
    ExampleRunner.eq(139, 1, new PalindromeGame().getMaximum(new String[]{"aaa"}, new int[]{1}));
    ExampleRunner.eq(140, 30, new PalindromeGame().getMaximum(new String[]{"aba", "cbc"}, new int[]{20, 30}));
    ExampleRunner.eq(141, 12, new PalindromeGame().getMaximum(new String[]{"aabbb", "aabaa", "aabaa", "aabaa", "bbbaa", "abbba"}, new int[]{2, 1, 2, 1, 2, 5}));
    ExampleRunner.eq(142, 10, new PalindromeGame().getMaximum(new String[]{"aba", "aka"}, new int[]{5, 10}));
    ExampleRunner.eq(143, 21, new PalindromeGame().getMaximum(new String[]{"aaa", "bbb", "aaa", "aba", "bba", "abb", "bab", "bba", "aba", "aab", "bab", "abb", "bba", "aba", "bba", "ada"}, new int[]{1, 3, 2, 1, 1, 2, 1, 3, 2, 1, 1, 2, 3, 1, 1, 3}));
    ExampleRunner.eq(144, 4, new PalindromeGame().getMaximum(new String[]{"aaab", "baaa", "baaa"}, new int[]{1, 2, 3}));
    ExampleRunner.eq(145, 92, new PalindromeGame().getMaximum(new String[]{"abc", "cba", "aaa", "aaa", "bbb", "bbb", "ccc", "ddd", "eee"}, new int[]{13, 13, 12, 11, 19, 17, 2, 7, 5}));
    ExampleRunner.eq(146, 1000, new PalindromeGame().getMaximum(new String[]{"aea"}, new int[]{1000}));
    ExampleRunner.eq(147, 552, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed"}, new int[]{24, 77, 63, 222, 190}));
    ExampleRunner.eq(148, 3, new PalindromeGame().getMaximum(new String[]{"xxx", "xex", "xxx"}, new int[]{1, 1, 1}));
    ExampleRunner.eq(149, 8, new PalindromeGame().getMaximum(new String[]{"abc", "cba", "cba"}, new int[]{3, 2, 5}));
    ExampleRunner.eq(150, 159, new PalindromeGame().getMaximum(new String[]{"aa", "aa", "aa", "bb", "bb", "bb", "cc", "cc", "cc", "dd", "dd", "ab", "ba"}, new int[]{5, 6, 6, 10, 7, 10, 20, 6, 20, 30, 30, 10, 10}));
    ExampleRunner.eq(151, 99, new PalindromeGame().getMaximum(new String[]{"a"}, new int[]{99}));
    ExampleRunner.eq(152, 7, new PalindromeGame().getMaximum(new String[]{"topot", "reder", "redoc"}, new int[]{7, 5, 3}));
    ExampleRunner.eq(153, 10, new PalindromeGame().getMaximum(new String[]{"aaa", "bbb"}, new int[]{4, 10}));
    ExampleRunner.eq(154, 333, new PalindromeGame().getMaximum(new String[]{"a", "b", "c"}, new int[]{3, 33, 333}));
    ExampleRunner.eq(155, 5, new PalindromeGame().getMaximum(new String[]{"aaa"}, new int[]{5}));
    ExampleRunner.eq(156, 0, new PalindromeGame().getMaximum(new String[]{"absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd", "absdfdasfasd"}, new int[]{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50}));
    ExampleRunner.eq(157, 2499, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed", "aba", "xyx"}, new int[]{24, 7, 63, 222, 190, 1000, 2000}));
    ExampleRunner.eq(158, 11, new PalindromeGame().getMaximum(new String[]{"aba", "aba"}, new int[]{1, 10}));
    ExampleRunner.eq(159, 30, new PalindromeGame().getMaximum(new String[]{"cac", "bab", "dad", "aaa", "bbb", "ccc", "aaa", "bbb"}, new int[]{1, 2, 3, 4, 5, 6, 7, 8}));
    ExampleRunner.eq(160, 49998775, new PalindromeGame().getMaximum(new String[]{"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}, new int[]{1000000, 999999, 999998, 999997, 999996, 999995, 999994, 999993, 999992, 999991, 999990, 999989, 999988, 999987, 999986, 999985, 999984, 999983, 999982, 999981, 999980, 999979, 999978, 999977, 999976, 999975, 999974, 999973, 999972, 999971, 999970, 999969, 999968, 999967, 999966, 999965, 999964, 999963, 999962, 999961, 999960, 999959, 999958, 999957, 999956, 999955, 999954, 999953, 999952, 999951}));
    ExampleRunner.eq(161, 50, new PalindromeGame().getMaximum(new String[]{"ana"}, new int[]{50}));
    ExampleRunner.eq(162, 8, new PalindromeGame().getMaximum(new String[]{"a", "b", "a"}, new int[]{5, 1, 2}));
    ExampleRunner.eq(163, 10, new PalindromeGame().getMaximum(new String[]{"abbasabba", "laxmannnn"}, new int[]{10, 1}));
    ExampleRunner.eq(164, 505, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed", "abc"}, new int[]{24, 7, 63, 222, 190, 30}));
    ExampleRunner.eq(165, 14, new PalindromeGame().getMaximum(new String[]{"bb", "bb"}, new int[]{7, 7}));
    ExampleRunner.eq(166, 285, new PalindromeGame().getMaximum(new String[]{"top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "top", "pot", "tot", "tot", "tot", "tot", "tot", "tot", "tot", "tot", "tot", "tot"}, new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}));
    ExampleRunner.eq(167, 6, new PalindromeGame().getMaximum(new String[]{"aaa", "aba", "aaa"}, new int[]{1, 2, 3}));
    ExampleRunner.eq(168, 9, new PalindromeGame().getMaximum(new String[]{"abccba", "deffed", "abcdef", "fedcba"}, new int[]{1, 2, 3, 4}));
    ExampleRunner.eq(169, 90, new PalindromeGame().getMaximum(new String[]{"anuj", "adda", "baab", "baab", "baab", "juna"}, new int[]{5, 70, 5, 5, 5, 5}));
    ExampleRunner.eq(170, 431, new PalindromeGame().getMaximum(new String[]{"ab", "ab", "cc", "ba"}, new int[]{1, 30, 400, 1}));
    ExampleRunner.eq(171, 20, new PalindromeGame().getMaximum(new String[]{"xyz", "xyz", "xyz", "aba"}, new int[]{1, 5, 6, 20}));
    ExampleRunner.eq(172, 10, new PalindromeGame().getMaximum(new String[]{"a", "b"}, new int[]{10, 10}));
    ExampleRunner.eq(173, 15, new PalindromeGame().getMaximum(new String[]{"a", "b", "a"}, new int[]{7, 5, 3}));
    ExampleRunner.eq(174, 1200, new PalindromeGame().getMaximum(new String[]{"a", "b", "c", "c"}, new int[]{1000, 10, 100, 100}));
    ExampleRunner.eq(175, 4, new PalindromeGame().getMaximum(new String[]{"aa", "bb"}, new int[]{4, 4}));
    ExampleRunner.eq(176, 3, new PalindromeGame().getMaximum(new String[]{"a", "a", "a"}, new int[]{1, 1, 1}));
    ExampleRunner.eq(177, 1000000, new PalindromeGame().getMaximum(new String[]{"noon"}, new int[]{1000000}));
    ExampleRunner.eq(178, 1090, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed", "cba", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa", "aaa"}, new int[]{7, 24, 63, 222, 190, 212, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12}));
    ExampleRunner.eq(179, 4, new PalindromeGame().getMaximum(new String[]{"top", "red", "red", "aba", "bab"}, new int[]{7, 5, 3, 2, 4}));
    ExampleRunner.eq(180, 310, new PalindromeGame().getMaximum(new String[]{"aaa", "bbb", "aaa", "aaa"}, new int[]{50, 60, 100, 150}));
    ExampleRunner.eq(181, 499, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed"}, new int[]{7, 24, 63, 222, 190}));
    ExampleRunner.eq(182, 553, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "def", "cba", "fed"}, new int[]{24, 78, 63, 222, 190}));
    ExampleRunner.eq(183, 2, new PalindromeGame().getMaximum(new String[]{"abcba"}, new int[]{2}));
    ExampleRunner.eq(184, 6, new PalindromeGame().getMaximum(new String[]{"a", "b", "a", "a"}, new int[]{1, 2, 1, 3}));
    ExampleRunner.eq(185, 18, new PalindromeGame().getMaximum(new String[]{"aa", "ab", "ab", "ba", "cd", "dc", "dc", "as", "sa", "sa", "ew", "ew", "we"}, new int[]{1, 1, 2, 3, 1, 2, 3, 1, 3, 2, 3, 2, 1}));
    ExampleRunner.eq(186, 15, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "cba"}, new int[]{1, 5, 10}));
    ExampleRunner.eq(187, 2, new PalindromeGame().getMaximum(new String[]{"aaa", "bbb"}, new int[]{1, 2}));
    ExampleRunner.eq(188, 0, new PalindromeGame().getMaximum(new String[]{"qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh", "qqqqqqqqqqqqqqqqqqqqqqqqqqqrrrgggggghhhh"}, new int[]{1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 100000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 100000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 4353, 45, 345, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 1000000, 4567, 1000000, 1000000, 1000000}));
    ExampleRunner.eq(189, 24, new PalindromeGame().getMaximum(new String[]{"asdsa", "werew", "qwert", "trewq", "zxcvb", "bvcxz", "qwert", "tgyht"}, new int[]{1, 2, 3, 4, 5, 6, 7, 8}));
    ExampleRunner.eq(190, 3, new PalindromeGame().getMaximum(new String[]{"aaa", "aba", "ccc", "top", "pot"}, new int[]{1, 1, 1, 1, 1}));
    ExampleRunner.eq(191, 40, new PalindromeGame().getMaximum(new String[]{"abc", "cba", "cba"}, new int[]{10, 20, 30}));
    ExampleRunner.eq(192, 5, new PalindromeGame().getMaximum(new String[]{"a", "b", "c"}, new int[]{5, 5, 5}));
    ExampleRunner.eq(193, 859, new PalindromeGame().getMaximum(new String[]{"aba", "aba", "xyx", "zyz", "abc", "cba", "cba", "def", "fed", "def"}, new int[]{1, 2, 4, 8, 16, 32, 64, 128, 256, 512}));
    ExampleRunner.eq(194, 1244, new PalindromeGame().getMaximum(new String[]{"aa", "bb", "cc", "dd", "ee", "aa", "bb", "cc", "dd", "ff", "ee", "ff", "gg", "hh", "ii", "jj", "kk", "ll", "mm", "nn", "oo", "pp", "qq", "rr", "ss", "tt", "uu", "vv", "ww", "xx", "yy", "gg", "hh", "ii", "jj", "kk", "ll", "mm", "nn", "oo", "pp", "qq", "rr", "ss", "tt", "uu", "vv", "ww", "xx", "zz"}, new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50}));
    ExampleRunner.eq(195, 102, new PalindromeGame().getMaximum(new String[]{"abc", "abc", "cba"}, new int[]{1, 100, 2}));
    ExampleRunner.eq(196, 2300000, new PalindromeGame().getMaximum(new String[]{"oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooo"}, new int[]{100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000}));
    ExampleRunner.eq(197, 800, new PalindromeGame().getMaximum(new String[]{"fef"}, new int[]{800}));
    ExampleRunner.eq(198, 11090531, new PalindromeGame().getMaximum(new String[]{"abcdefghijklmnopqrstuvwxyz", "zyxwvutsrqponmlkjihgfedcba", "zyxwvutsrqponmlkjihgfedcba", "zyxwvutsrqponmlkjihgfedcba", "ayxwvutsrqponmlkjihgfedcbz", "zbcdefghijklmnopqrstuvwxya", "abcdefghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxzy", "yzxwvutsrqponmlkjihgfedcba", "zyxwvutsrqponmlkjihgfedcba", "ayxwvutsrqponmlkjihgfedcbz", "zbcdefghijklmnopqrstuvwxya", "abcdfeghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxzy", "yzxwvutsrqponmlkjihgfedcba", "zyxwvutsrpqonmlkjihgfedcba", "ayxwvutsrqponmlkjihgfedcbz", "zbcdefghijklmnopqrstuvwxya", "aaaaaaaaaaaaaaaaaaaaaaaaaa", "abcdefghijklmnopqrstuvwxzy", "yzxwvutsrqponmlkjihgfedcba", "zyxwvutsrpqonmlkjihgfedcba", "ayxwvutsrqponmlkjihgfedcbz", "zbcdefghijklmnopqrstuvwxya", "abcdfeghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxzy", "yzxwvutsrqponmlkjihgfedcba", "zyxwvutsrpqonmlkjihgfedcba", "ayxwvutsrqponmlkjihgfedcbz", "zbcdefghijklmnopqrstuvwxya", "abcdfeghijklmnopqrstuvwxyz", "aaaaaaaaaaaaaaaaaaaaaaaaaa", "yzxwvutsrqponmlkjihgfedcba", "zyxwvutsrpqonmlkjihgfedcba", "ayxwvutsrqponmlkjhigfedcbz", "zbcdefghijklmnopqrstuvwxya", "abcdfeghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxzy", "yzxwvutsrqponmlkjihgfedcba", "zyxwvutsrpqonmlkjihgfedcba", "ayxwvutsrqponmlkjihgfedcbz", "zbcdefghijklmnopqrstuvwxya", "abcdfeghijklmnopqrstuvwxyz", "abcdefghijklmnopqrstuvwxzy", "yzxwvutsrqponmlkjiggfedcba", "bbbbbbbbbbbbbbbbbbbbbbbbbb", "ayxwvutsrqponmljkihgfedcbz", "zbcdefghijklmnopqrstuvwxya", "zzzzzzzzzzzzzzzzzzzzzzzzzz", "zzzzzzzzzzzzzzzzzzzzzzzzzz"}, new int[]{99, 8, 888, 1, 100000, 2, 8, 10000, 999999, 234244, 987898, 1000000, 1000000, 99, 8, 888, 1, 100000, 2, 8, 10000, 999999, 234244, 987898, 1000000, 1000000, 99, 8, 888, 1989, 100000, 2, 8, 10000, 999999, 234244, 987898, 1000000, 1000000, 99, 8, 808, 1908, 100000, 10000, 999999, 234244, 987898, 100000, 1000000}));
    ExampleRunner.eq(199, 18, new PalindromeGame().getMaximum(new String[]{"aaa", "aaa", "aaa"}, new int[]{5, 6, 7}));
    ExampleRunner.eq(200, 23, new PalindromeGame().getMaximum(new String[]{"aaa"}, new int[]{23}));
    ExampleRunner.eq(201, 321, new PalindromeGame().getMaximum(new String[]{"abba", "deed"}, new int[]{123, 321}));
    ExampleRunner.eq(202, 102, new PalindromeGame().getMaximum(new String[]{"abc", "aba", "cba"}, new int[]{1, 100, 1}));
    ExampleRunner.eq(203, 103, new PalindromeGame().getMaximum(new String[]{"ab", "ab", "ab", "ab", "ba", "ba", "ba", "ba"}, new int[]{10, 11, 12, 13, 14, 14, 14, 15}));
    ExampleRunner.eq(204, 11, new PalindromeGame().getMaximum(new String[]{"aba", "aba"}, new int[]{4, 7}));
  }
}




